package com.lgmshare.k3.http.base;

/**
 * @author lim
 * @description: TODO
 * @email lgmshare@gmail.com
 * @datetime 2016/6/27 13:36
 */
public abstract class SimpleCallback<T> {

    /**
     * 请求开始
     */
    public void onStart() {

    }

    /**
     * 请求结束
     */
    public void onFinish() {

    }

    /**
     * 请求取消
     */
    public void onCancel() {

    }

    /**
     * 请求进度
     *
     * @param totalSize 文件大小
     * @param progress  下载进度
     * @param offset    下载速度
     */
    public void onProgress(long totalSize, long progress, long offset) {

    }

    /**
     * 请求错误
     *
     * @param code    错误码
     * @param message 错误信息
     */
    public abstract void onFailure(int code, String message);

    /**
     * 请求成功
     *
     * @param t 泛型对象
     */
    public abstract void onSuccess(T t);

}
